A right square pyramid with base edges of length $8\sqrt{2}$ units each and slant edges of length 10 units each is cut by a plane that is parallel to its base and 3 units above its base. What is the volume, in cubic units, of the new pyramid that is cut off by this plane? [asy]
import three;
size(2.5inch);
currentprojection = orthographic(1/2,-1,1/4);
triple A = (0,0,6);
triple[] base = new triple[4];
base[0] = (-4, -4, 0);

base[1] = (4, -4, 0);
base[2] = (4, 4, 0);
base[3] = (-4, 4, 0);
triple[] mid = new triple[4];
for(int i=0; i < 4; ++i)
mid[i] = (.6*xpart(base[i]) + .4*xpart(A), .6*ypart(base[i]) + .4*ypart(A), .6*zpart(base[i]) + .4*zpart(A));
for(int i=0; i < 4; ++i)
{
draw(A--base[i]);
draw(base[i]--base[(i+1)%4]);
draw(mid[i]--mid[(i+1)%4], dashed);
}
label("$8\sqrt{2}$ units", base[0]--base[1]);
label("10 units", base[0]--A, 2*W);
[/asy]
Explanation: Define the points $A$, $B$, $C$ , and $D$, $E$, and $F$ as shown so that $AC$ is perpendicular to the base of the pyramid.  Segment $DC$ is a leg of the isosceles right triangle $CDF$ whose hypotenuse is $8\sqrt{2}$.  Therefore, $CD=8\sqrt{2}/\sqrt{2}=8$.  Applying the Pythagorean theorem to triangle $ACD$ gives $AC=6$.  Since $BC=3$, this implies that $AB=3$.  By the similarity of $ABE$ and $ACD$, we find $BE=4$.   The diagonal of the smaller square is $2\cdot BE = 8$, so its area is $8^2/2=32$.  The volume of the pyramid is $\frac{1}{3}(\text{base area})(\text{height})=\frac{1}{3}(32)(3)=\boxed{32}$ cubic units.

[asy]
import three;

size(2.5inch);
currentprojection = orthographic(1/2,-1,1/4);
triple A = (0,0,6);
triple C = (0,0,0);
triple B = (0,0,0.4*6);
triple[] base = new triple[4];
base[0] = (-4, -4, 0);
base[1] = (4, -4, 0);
base[2] = (4, 4, 0);
base[3] = (-4, 4, 0);
triple[] mid = new triple[4];
for(int i=0; i < 4; ++i)
mid[i] = (.6*xpart(base[i]) + .4*xpart(A), .6*ypart(base[i]) + .4*ypart(A), .6*zpart(base[i]) + .4*zpart(A));
for(int i=0; i < 4; ++i)
{
draw(A--base[i]);
draw(base[i]--base[(i+1)%4]);
draw(mid[i]--mid[(i+1)%4], dashed);
}
draw(A--C); draw(C--base[0]); draw(C--base[1]);
dot(A); dot(B); dot(C); dot(base[0]); dot(base[1]); dot(mid[0]);
label("$A$",A,N); label("$B$",B,W); label("$C$",C,NE); label("$D$",base[0],W); label("$E$",mid[0],S); label("$F$",base[1],S);
label("$8\sqrt{2}$", base[0]--base[1]);
label("10", base[0]--A, 2*W);
[/asy]